CREATE TABLE `SRAnalytics`.`MsgOptExpiryDefinition` (
`ekey_at` ENUM('None','EQT','IDX','BND','CUR','COM','FUT','SYN','WAR','FLX','MUT','SPD','MM','MF','COIN','TOKEN','ANY') NOT NULL DEFAULT 'None' COMMENT 'option root+expiration',
`ekey_ts` ENUM('None','SR','NMS','CME','ICE','CFE','CBOT','NYMEX','COMEX','RUT','CIDX','ARCA','NYSE','OTC','NSDQ','MFQS','MIAX','DJI','CUSIP','ISIN','BXE','EUX','ANY','CXE','DXE','NXAM','NXBR','NXLS','NXML','NXOS','NXP','EUREX','CEDX','ICEFE') NOT NULL DEFAULT 'None' COMMENT 'option root+expiration',
`ekey_tk` VARCHAR(12) NOT NULL DEFAULT '' COMMENT 'option root+expiration',
`ekey_yr` SMALLINT UNSIGNED NOT NULL DEFAULT 0 COMMENT 'option root+expiration',
`ekey_mn` TINYINT UNSIGNED NOT NULL DEFAULT 0 COMMENT 'option root+expiration',
`ekey_dy` TINYINT UNSIGNED NOT NULL DEFAULT 0 COMMENT 'option root+expiration',
`ticker_at` ENUM('None','EQT','IDX','BND','CUR','COM','FUT','SYN','WAR','FLX','MUT','SPD','MM','MF','COIN','TOKEN','ANY') NOT NULL DEFAULT 'None' COMMENT 'master ticker',
`ticker_ts` ENUM('None','SR','NMS','CME','ICE','CFE','CBOT','NYMEX','COMEX','RUT','CIDX','ARCA','NYSE','OTC','NSDQ','MFQS','MIAX','DJI','CUSIP','ISIN','BXE','EUX','ANY','CXE','DXE','NXAM','NXBR','NXLS','NXML','NXOS','NXP','EUREX','CEDX','ICEFE') NOT NULL DEFAULT 'None' COMMENT 'master ticker',
`ticker_tk` VARCHAR(12) NOT NULL DEFAULT '' COMMENT 'master ticker',
`fkey_at` ENUM('None','EQT','IDX','BND','CUR','COM','FUT','SYN','WAR','FLX','MUT','SPD','MM','MF','COIN','TOKEN','ANY') NOT NULL DEFAULT 'None' COMMENT 'settlement future (if any)',
`fkey_ts` ENUM('None','SR','NMS','CME','ICE','CFE','CBOT','NYMEX','COMEX','RUT','CIDX','ARCA','NYSE','OTC','NSDQ','MFQS','MIAX','DJI','CUSIP','ISIN','BXE','EUX','ANY','CXE','DXE','NXAM','NXBR','NXLS','NXML','NXOS','NXP','EUREX','CEDX','ICEFE') NOT NULL DEFAULT 'None' COMMENT 'settlement future (if any)',
`fkey_tk` VARCHAR(12) NOT NULL DEFAULT '' COMMENT 'settlement future (if any)',
`fkey_yr` SMALLINT UNSIGNED NOT NULL DEFAULT 0 COMMENT 'settlement future (if any)',
`fkey_mn` TINYINT UNSIGNED NOT NULL DEFAULT 0 COMMENT 'settlement future (if any)',
`fkey_dy` TINYINT UNSIGNED NOT NULL DEFAULT 0 COMMENT 'settlement future (if any)',
`uPrcDriverKey_at` ENUM('None','EQT','IDX','BND','CUR','COM','FUT','SYN','WAR','FLX','MUT','SPD','MM','MF','COIN','TOKEN','ANY') NOT NULL DEFAULT 'None' COMMENT 'underlier price driver for this option expiry (default is fkey; if it exists)',
`uPrcDriverKey_ts` ENUM('None','SR','NMS','CME','ICE','CFE','CBOT','NYMEX','COMEX','RUT','CIDX','ARCA','NYSE','OTC','NSDQ','MFQS','MIAX','DJI','CUSIP','ISIN','BXE','EUX','ANY','CXE','DXE','NXAM','NXBR','NXLS','NXML','NXOS','NXP','EUREX','CEDX','ICEFE') NOT NULL DEFAULT 'None' COMMENT 'underlier price driver for this option expiry (default is fkey; if it exists)',
`uPrcDriverKey_tk` VARCHAR(12) NOT NULL DEFAULT '' COMMENT 'underlier price driver for this option expiry (default is fkey; if it exists)',
`uPrcDriverKey_yr` SMALLINT UNSIGNED NOT NULL DEFAULT 0 COMMENT 'underlier price driver for this option expiry (default is fkey; if it exists)',
`uPrcDriverKey_mn` TINYINT UNSIGNED NOT NULL DEFAULT 0 COMMENT 'underlier price driver for this option expiry (default is fkey; if it exists)',
`uPrcDriverKey_dy` TINYINT UNSIGNED NOT NULL DEFAULT 0 COMMENT 'underlier price driver for this option expiry (default is fkey; if it exists)',
`uPrcDriverKeyType` ENUM('None','Stock','Future','Option','MLeg') NOT NULL DEFAULT 'None' COMMENT 'Stock or Future',
`uPrcBoundFKey_at` ENUM('None','EQT','IDX','BND','CUR','COM','FUT','SYN','WAR','FLX','MUT','SPD','MM','MF','COIN','TOKEN','ANY') NOT NULL DEFAULT 'None' COMMENT 'underlier price bounding future (if any) for this option expiry',
`uPrcBoundFKey_ts` ENUM('None','SR','NMS','CME','ICE','CFE','CBOT','NYMEX','COMEX','RUT','CIDX','ARCA','NYSE','OTC','NSDQ','MFQS','MIAX','DJI','CUSIP','ISIN','BXE','EUX','ANY','CXE','DXE','NXAM','NXBR','NXLS','NXML','NXOS','NXP','EUREX','CEDX','ICEFE') NOT NULL DEFAULT 'None' COMMENT 'underlier price bounding future (if any) for this option expiry',
`uPrcBoundFKey_tk` VARCHAR(12) NOT NULL DEFAULT '' COMMENT 'underlier price bounding future (if any) for this option expiry',
`uPrcBoundFKey_yr` SMALLINT UNSIGNED NOT NULL DEFAULT 0 COMMENT 'underlier price bounding future (if any) for this option expiry',
`uPrcBoundFKey_mn` TINYINT UNSIGNED NOT NULL DEFAULT 0 COMMENT 'underlier price bounding future (if any) for this option expiry',
`uPrcBoundFKey_dy` TINYINT UNSIGNED NOT NULL DEFAULT 0 COMMENT 'underlier price bounding future (if any) for this option expiry',
`expiration` DATETIME(6) NOT NULL DEFAULT '1900-01-01 00:00:00.000000' COMMENT 'option expiration date and time',
`maturityDate` DATETIME(6) NOT NULL DEFAULT '1900-01-01 00:00:00.000000',
`displayFactor` DOUBLE NOT NULL DEFAULT 0,
`cabPrice` DOUBLE NOT NULL DEFAULT 0,
`priceFormat` ENUM('None','N0','N1','N2','N3','N4','N5','N6','N7','F4','F8','Q8','F16','F32','H32','Q32','F64','H64','FullPenny','PartPenny','PartNickle','EQT','V1','V2','V3','V4','V5','V6','V7','V8','V9','V10','V11','V12','V13','V14','V15','A0','A1','A2','A3','A4','A5','A6','A7','E32') NOT NULL DEFAULT 'None',
`minTickSize` DOUBLE NOT NULL DEFAULT 0,
`timestamp` DATETIME(6) NOT NULL DEFAULT '1900-01-01 00:00:00.000000',
PRIMARY KEY USING HASH (`ekey_tk`,`ekey_yr`,`ekey_mn`,`ekey_dy`,`ekey_at`,`ekey_ts`)
) ENGINE=SRSE DEFAULT CHARSET=LATIN1 COMMENT='This table maps option root/expiration combinations to their deliverable future. Mappings are sourced fromm listing exchange product definitions.\nBaseObj:Root';